__author__ = 'Juangra'


class listaProducto:
    """ Clase dedicada a almacenar los productos que vendemos a cada cliente """
    def __init__(self,nBocadillos,nRefrescos,nCervezas,fechas,tikets):
        """
        Nos crea los objetos que utilizaremos como los productos y sus precios, son variables de
        instancia.
        nBocadillos: almacena el numero de bocadillos
        nRefrescos: almacena el numero de Refrescos
        nCervezas: almacena el numero de cervezas
        """
        self.__nBocadillos = nBocadillos
        self.__nRefrescos = nRefrescos
        self.__nCervezas = nCervezas
        self.__fechas = fechas
        self.__nTiket = tikets
        self.__pBocadillos = 2.45
        self.__pRefrescos = 1.50
        self.__pCervezas = 1.00
        self.__total = 0

    def get_nBocadillos(self):
        """Nos devuelve la cantidad de bocadillos."""
        return self.__nBocadillos
    def set_nBocadillos(self,cantidadBoc):
        """Asignamos a la variable de instancia __nBocadillos la cantidad que
         el usuario a introducido."""
        self.__nBocadillos=cantidadBoc

    def get_nRefrescos(self,):
        """Nos devuelve la cantidad de refrescos."""
        return self.__nRefrescos
    def set_nRefrescos(self,cantidadRefre):
        """Asignamos a la variable de instancia __nRefrescos la cantidad que
         el usuario a introducido."""
        self.__nRefrescos=cantidadRefre

    def get_nCervezas(self,):
        """Nos devuelve la cantidad de cervezas."""
        return self.__nCervezas
    def set_nCervezas(self,cantidadCerv):
        """Asignamos a la variable de instancia __nCervezas la cantidad que
         el usuario a introducido."""
        self.__nCervezas = cantidadCerv

    def get_fecha(self):
        return self.__fechas
    def set_fecha(self,fecha):
        self.__fechas = fecha

    def get_tiket(self):
        return self.__nTiket
    def set_tiket(self,nTiket):
        self.__nTiket = nTiket

    def cambiarPrecios(self,pBocadillo,pCerveza,pRefresco):
        """Permite cambiar el valor de los precios de los productos."""
        self.__pBocadillos = pBocadillo
        self.__pRefrescos = pRefresco
        self.__pCervezas = pCerveza

    def sumaTotal(self):
        """Nos calcula el importe total de los productos consumidos."""
        self.__total=(self.__nBocadillos * self.__pBocadillos) +\
                     (self.__nRefrescos * self.__pRefrescos)+ \
                     (self.__nCervezas * self.__pCervezas)

        return self.__total

    def __add__(self, other):

        """Nos calcula la cantidad de productos consumido en el dia asi como el total de lo recaudado"""
        aux= listaProducto(self.get_nBocadillos() + other.get_nBocadillos(),
                             self.get_nRefrescos() + other.get_nRefrescos(),
                             self.get_nCervezas() + other.get_nCervezas())
        aux.__total=self.__total+other.__total

        return aux